{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Introduction\n",
    "\n",
    "In this notebook we will look at inference attacks against an MNIST classifier.\n",
    "Specifically, we will use the ART implementation of Fredrikson et al.'s (2015) MI-Face algorithm."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "import keras.backend as k\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense, Flatten, Conv2D, MaxPooling2D, Dropout\n",
    "import numpy as np\n",
    "from numpy.random import seed\n",
    "seed(123)\n",
    "\n",
    "from art.estimators.classification import KerasClassifier\n",
    "from art.attacks.inference.model_inversion.mi_face import MIFace\n",
    "from art.utils import load_dataset\n",
    "\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "import tensorflow as tf\n",
    "tf.compat.v1.disable_eager_execution()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Read MNIST dataset\n",
    "(x_train, y_train), (x_test, y_test), min_, max_ = load_dataset(str('mnist'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Train model and initialize attack"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# create standard CNN in Keras and wrap with ART KerasClassifier:\n",
    "def cnn_mnist(input_shape, min_val, max_val):\n",
    "  \n",
    "    model = Sequential()\n",
    "    model.add(Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=input_shape))\n",
    "    model.add(MaxPooling2D(pool_size=(2, 2)))\n",
    "    model.add(Conv2D(64, (3, 3), activation='relu'))\n",
    "    model.add(MaxPooling2D(pool_size=(2, 2)))\n",
    "    model.add(Dropout(0.25))\n",
    "    model.add(Flatten())\n",
    "    model.add(Dense(128, activation='relu'))\n",
    "    model.add(Dense(10, activation='softmax'))\n",
    "\n",
    "    model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])\n",
    "\n",
    "    classifier = KerasClassifier(clip_values=(min_val, max_val), \n",
    "                                model=model, use_logits=False)\n",
    "    return classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /usr/local/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Colocations handled automatically by placer.\n",
      "WARNING:tensorflow:From /usr/local/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py:3445: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.\n",
      "WARNING:tensorflow:From /usr/local/lib/python3.7/site-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use tf.cast instead.\n",
      "Epoch 1/10\n",
      "468/468 [==============================] - 26s 55ms/step - loss: 0.2225 - acc: 0.9356\n",
      "Epoch 2/10\n",
      "468/468 [==============================] - 21s 44ms/step - loss: 0.0607 - acc: 0.9812\n",
      "Epoch 3/10\n",
      "468/468 [==============================] - 21s 45ms/step - loss: 0.0446 - acc: 0.9866\n",
      "Epoch 4/10\n",
      "468/468 [==============================] - 21s 45ms/step - loss: 0.0325 - acc: 0.9897\n",
      "Epoch 5/10\n",
      "468/468 [==============================] - 21s 45ms/step - loss: 0.0276 - acc: 0.9913\n",
      "Epoch 6/10\n",
      "468/468 [==============================] - 21s 44ms/step - loss: 0.0247 - acc: 0.9926\n",
      "Epoch 7/10\n",
      "468/468 [==============================] - 21s 44ms/step - loss: 0.0196 - acc: 0.9939\n",
      "Epoch 8/10\n",
      "468/468 [==============================] - 20s 43ms/step - loss: 0.0174 - acc: 0.9943\n",
      "Epoch 9/10\n",
      "468/468 [==============================] - 20s 43ms/step - loss: 0.0160 - acc: 0.9948\n",
      "Epoch 10/10\n",
      "468/468 [==============================] - 20s 43ms/step - loss: 0.0137 - acc: 0.9956\n"
     ]
    }
   ],
   "source": [
    "num_epochs = 10\n",
    "\n",
    "# Construct and train a convolutional neural network\n",
    "classifier = cnn_mnist(x_train.shape[1:], min_, max_)\n",
    "classifier.fit(x_train, y_train, nb_epochs=num_epochs, batch_size=128)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create the attack.\n",
    "# Note: by setting the threshold to 1., the attack will effectively exhaust the maximum number of iterations.\n",
    "\n",
    "attack = MIFace(classifier, max_iter=10000, threshold=1.) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Our attack target in the following will be to infer information about the training samples \n",
    "# for each of the 10 MNIST CLASSES:\n",
    "\n",
    "y = np.arange(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# We will experiment with a number of different initializations:\n",
    "\n",
    "x_init_white = np.zeros((10, 28, 28, 1))\n",
    "x_init_grey = np.zeros((10, 28, 28, 1)) + 0.5\n",
    "x_init_black = np.ones((10, 28, 28, 1))\n",
    "x_init_random = np.random.uniform(0, 1, (10, 28, 28, 1))\n",
    "x_init_average = np.zeros((10, 28, 28, 1)) + np.mean(x_test, axis=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Initialization with white image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Maximum class gradient: 0.000000\n"
     ]
    }
   ],
   "source": [
    "# We observe that the classifier's gradients are vanishing on white images, therefore the attack won't work:\n",
    "\n",
    "print(\"Maximum class gradient: %f\" % (np.max(np.abs(classifier.class_gradient(x_init_white, y)))))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Initialization with grey image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Minimum over all maximum class gradient: 0.009670\n"
     ]
    }
   ],
   "source": [
    "# First, we ensure that the classifier's gradients are non-vanishing for each target class:\n",
    "\n",
    "class_gradient = classifier.class_gradient(x_init_grey, y)\n",
    "class_gradient = np.reshape(class_gradient, (10, 28*28))\n",
    "class_gradient_max = np.max(class_gradient, axis=1)\n",
    "\n",
    "print(\"Minimum over all maximum class gradient: %f\" % (np.min(class_gradient_max)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 4min 23s, sys: 26.9 s, total: 4min 50s\n",
      "Wall time: 2min 28s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "# Now we run the attack:\n",
    "x_infer_from_grey = attack.infer(x_init_grey, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x1080 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the inferred images:\n",
    "\n",
    "plt.figure(figsize=(15,15))\n",
    "for i in range(10):\n",
    "    plt.subplot(5, 5, i + 1)\n",
    "    plt.imshow( (np.reshape(x_infer_from_grey[0+i,], (28, 28))), cmap=plt.cm.gray_r)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we can see, the attack reveals certain structural properties of the training instances for each \n",
    "of the ten classes."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Initialization with black image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Minimum over all maximum class gradient: 0.002196\n"
     ]
    }
   ],
   "source": [
    "# First, we ensure that the classifier's gradients are non-vanishing for each target class:\n",
    "\n",
    "class_gradient = classifier.class_gradient(x_init_black, y)\n",
    "class_gradient = np.reshape(class_gradient, (10, 28*28))\n",
    "class_gradient_max = np.max(class_gradient, axis=1)\n",
    "\n",
    "print(\"Minimum over all maximum class gradient: %f\" % (np.min(class_gradient_max)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 4min 30s, sys: 28.2 s, total: 4min 58s\n",
      "Wall time: 2min 34s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "# Now we run the attack:\n",
    "x_infer_from_black = attack.infer(x_init_black, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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eDaEMDeEcEVHPiCEcE8IYVHHf/dv/OYCnaNmUTbULMqIukXZULNoRaGzhswQwnAzGx5jnB5C6G1m08zsAjP7sJltiTF+I4TweTPrH2P83Ks9V3t7e6xswkttCFUNpqlNolmoIQep23z00Ue7bP78+Zm2RzUYpg5NSN0e1eyomjlVE6NqdlTHqYYBCdNijJNTH2yWb8126dIl9u7de78sy6CCM844w2WjR492WeVrmunG24ULF7pMNferbd65c6fLsp5TavBBapN2//7+s081xCvqPFXDadT7Uw3tauBJDQqt2RBC2gLVBOoYqIb31DVVrU0Zj5V02WWXueyRRx5x2XPPPeeyl156KfftSZHls8rqqNmO18ylblNrtm/fvi7bvn170raq8zy1Ef9973ufy0477TSXqcEaarDK/fff77I5c+a4rNramfqeldThD6mDPtQarepuzJgxLlODTGo4fwqtWTOztra2WHlNluX8V/tcDWFR1wxZBq6oawu1LepaM3XYkZmun0GDBrlMDdVS+2HGjBkuW7ZsmXztSmowyuTJvpxmzpzpMjUsJ3UtiTHKyWmd/mYsxrg2xji94593mtk8MxthZueb2U0dD7vJ9hYzUDhqFmVDzaKMqFuUDTWLVlTTaPsQwhgzO8HMnjCzoTHGv8zNXGdm/lcne3/mcjO7vOOf691OoC7ULMoma80CRai1bqlZFI21Fq0ieYBHCKGXmd1uZlfGGPf70pS493eh8vehMcbrYoyTY4yTubBFM+VRs+pX/0Cj5FGzTdhMYD/11C01iyJxTYtWknSlGUI4yPYW7c9ijL/qiNd3/O3tX/4G13+DHVAQahZlQ82ijKhblA01i1bT6Z8phr23/j8ys3kxxv/a5//6tZldYmbf6PjvOzp7rhija8xL/c1DDY3ITp8+fVy2Y8cO8ci01x08eLDL1DeOZx3WkdpAqajmxNTm4tSGTNVErJos1dCR1KEO9cizZvfs2eOGX6QOEXjnO9/psne/+90uU8+nBgNcddVVLlPDENQgDNVUrI591gEeWY5r6rAO1cSvhpGoTEltvG2kPGu2htd0WZZ1Vq2LqYMGVC2q8yJ13R4xYoTLVq9eLR87fvx4lx111FEue+yxx1ymzis1tEQ1fOcty7GrV7PrVtWTqh11XLKc5w888IDLfv/737tsy5Ytdb9GI4bTqFpU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\n",
      "text/plain": [
       "<Figure size 1080x1080 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the inferred images:\n",
    "\n",
    "plt.figure(figsize=(15,15))\n",
    "for i in range(10):\n",
    "    plt.subplot(5, 5, i + 1)\n",
    "    plt.imshow( (np.reshape(x_infer_from_black[0+i,], (28, 28))), cmap=plt.cm.gray_r)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Initialization with random image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Minimum over all maximum class gradient: 0.001144\n"
     ]
    }
   ],
   "source": [
    "# First, we ensure that the classifier's gradients are non-vanishing for each target class:\n",
    "\n",
    "class_gradient = classifier.class_gradient(x_init_random, y)\n",
    "class_gradient = np.reshape(class_gradient, (10, 28*28))\n",
    "class_gradient_max = np.max(class_gradient, axis=1)\n",
    "\n",
    "print(\"Minimum over all maximum class gradient: %f\" % (np.min(class_gradient_max)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 4min 21s, sys: 26.5 s, total: 4min 47s\n",
      "Wall time: 2min 26s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "# Now we run the attack:\n",
    "x_infer_from_random = attack.infer(x_init_random, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x1080 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the inferred images:\n",
    "\n",
    "plt.figure(figsize=(15,15))\n",
    "for i in range(10):\n",
    "    plt.subplot(5, 5, i + 1)\n",
    "    plt.imshow( (np.reshape(x_infer_from_random[0+i,], (28, 28))), cmap=plt.cm.gray_r)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Initialization with average image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Minimum over all maximum class gradient: 0.027774\n"
     ]
    }
   ],
   "source": [
    "# First, we ensure that the classifier's gradients are non-vanishing for each target class:\n",
    "\n",
    "class_gradient = classifier.class_gradient(x_init_average, y)\n",
    "class_gradient = np.reshape(class_gradient, (10, 28*28))\n",
    "class_gradient_max = np.max(class_gradient, axis=1)\n",
    "\n",
    "print(\"Minimum over all maximum class gradient: %f\" % (np.min(class_gradient_max)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 4min 21s, sys: 26.7 s, total: 4min 48s\n",
      "Wall time: 2min 27s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "# Now we run the attack:\n",
    "x_infer_from_average = attack.infer(x_init_average, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2MAAAFWCAYAAADkGUU+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOyda7BdZ33e/y/gmyTrfrGulny/yJHtyArGxgYcgiG0kDRpTduMSZmSD2UmTPMhNOlMMv1EZhqYdprJDATGZEqhzSQEQknAYBhqMMYSCN9kS77ofpdsXXy3Wf3gk0TR/7fRe87e+6y9zvn9ZjyWHu+911rveta73uVznmeXpmlCREREREREJpc3tL0DIiIiIiIi0xEfxkRERERERFrAhzEREREREZEW8GFMRERERESkBXwYExERERERaQEfxkRERERERFqgr4exUsrtpZTHSylPlFI+NqidEhkWela6iL6VrqFnpWvoWWmLMtHvGSulvDEitkbEOyNid0Q8EBEfaJrm0cHtnsjg0LPSRfStdA09K11Dz0qbvKmP926IiCeapnkqIqKU8sWIeF9E9DTuwoULm9WrV/exSaGH51JKC3syOWzatOlw0zSLBvRxelaGzoA9GzFO3+pZGS96tvu4Nugb1wcyVLZv3x6HDx/Gi7Kfh7HlEbHrlL/vjohf+FlvWL16dWzcuLGPTU4vaHJ99dVXk/amN9Wdxi5OzKWUHQP8uCnn2Z/+9KdJI9+88Y1vnIzdqYb2+w1vGGyEta3FyYA9GzFO3466Z0cN8glpg/bnKKFnB8NEf9Oo13vH83mD9izNlbXz52TMvW17NmL0fTuVHtAnY80wbNavX9/zvw39SEopHy6lbCylbDx06NCwNyfSN3pWuoaela6hZ6WL6FsZBv08jO2JiJWn/H3FmPZPaJrmU03TrG+aZv2iRYP8ibLIuNGz0kXO6Fs9KyOGnpWu4fpAWqOfX1N8ICIuLaWsidcNe0dE/OuB7JVERP2PZWt/FF37axD9/HrCiDPlPPvyyy8njc5V7a8p1v5qbC/OOuuspNE+vvbaa0k777zzqvaHmMKejZiCvh0lyIvk+bPPPjtpNB/Te+l1XfsVm3EyLT1Lc07t/ElzHa0Beuk0x9dGGGq3PWq/7j5gppxnp9A9cKrPlxN/GGua5tVSykci4usR8caI+GzTNI8MbM9EBoyelS6ib6Vr6FnpGnpW2qSfn4xF0zRfi4ivDWhfRIaOnpUuom+la+hZ6Rp6Vtpiav/cT0REREREZETxYUxERERERKQF+vo1xcmk9vuUKLBIwT/6PAra1gZy6fMoPFtbrBHBYVkKm9P7qUhhGobIR47aggw69y+99FLSjh8/nrQ5c+ZU7cvzzz+fNCrboNedf/75+Jl0LFu3bk3aZZddVrOLfX0H1FQKLw8DmkvIdzTe5BM69+eee27VvpDHiNpSAXrdjBkz8DNpnq49PromSaPyj9mzZ+P+1Gy3tphhqtHF702qPVd0ns855xx8Lfm7dm3xyiuvJI3WC/2MK80t09Wz/TJoz9Pn0fk6ceJE0ui+T76l90ZELFiwIGlHjhxJGt03Zs2alTSap8lnXSiecSUuIiIiIiLSAj6MiYiIiIiItIAPYyIiIiIiIi3gw5iIiIiIiEgLdCZRWVs0URs2pwAkhawpKEufd/Lkyar9oxB5rzIEgsKJtQUQ0j61fqotjnnxxReTNnfu3Kp9efbZZ5NG5QPkOdpur9ceOnQoaVResGbNmqTReB09ejRptYHffuaRUS8KGC+1BUF03FQCQKFt0ugc0L688MILSaOiAdpnel2veZY8RoUi+/fvT9r8+fOrtk3HUlvgQWNtGcLwID+QZ2sLv2pLNOgaeO6553Afadu1xU20ziFqy6bIixaDDZfaYiuCzg3d959++umkrVq1Kmk0/9KaJiLi4MGDSTtw4EDSqOiD9pG2TWtsurZozUDX72Td971iREREREREWsCHMRERERERkRbwYUxERERERKQFfBgTERERERFpgSmXAq4N4FFA+7zzzksaBf8oAEklBXv27EkaBXcpBB7BRQxXXHFF0ihA+8wzzySNwrcUtKQgMIUdKehcGw6erpCfaMx6BWBPh85pbZCXwuEUpp05c2bSqJghgq+Dhx9+OGnkJyrwoM+jMgS6JmkMzznnnKTR/EDB4OlQmlBb/EPlKKQR5Nna8SY/kEZh70suuQT3Z8WKFUlbuHBh0ug6pTm+tvCEjo+C6/Re8jFd91OtyGnQYXq6h9VqNH/WlhlQeRKdK3pdr+1Q4cK6deuSRn6nzyO/1xZ4kBdr5wf5p9QWxZAf6V5JUJkQ3aN37NiRNDr/dL1E8FxGaw46Zprz6JqhbdD6gNa5dCykDWNe9SdjIiIiIiIiLeDDmIiIiIiISAv4MCYiIiIiItICfYUgSinbI+JERLwWEa82TbN+EDslMkz0rXQNPStdQ89K19Cz0haDSKS/vWmawwP4nHFDIVEKDlI4lV734osvVr2u9pvpjxw5krSNGzcmbeXKlUmL4PDl8uXLk3bttdfi+0/n6NGjSaMQ47Fjx5K2dOnSpNWWelB4cgQYqG97BVZPh8birLPOShqFRvfv31+1DSpvofNH+0KB8Z07dyaNShMiOPRNRTT79u1LGh0fhd8pPEuvo89btmxZ0iYroDsAWplrab7rp0iBxpvO3/Hjx5NG3j58OA/Jd77znaRRwD0i4uDBg0m74447kkbz7MmTJ5NG5SFUDkXz8YwZM5J2/vnnJ602pD4CtLY+qIHGjPxO92K6T5I/aV1BcxP5mPwVwQVKf/M3f5O0q666Kmm33HJL0mqLPmhepPGitQFd43TvG3RJywRozbO0jqBxq/Ut+YTmHSrHoDUtzaHkbzqvETw30n7T2pk8ResNWu9TCRndX+bNm1e1f8NgJGdvERERERGRqU6/D2NNRHyjlLKplPLhQeyQyCSgb6Vr6FnpGnpWuoaelVbo99cUb26aZk8pZXFE3F1Keaxpmu+e+oIxQ384ImLVqlV9bk5kIPxM3+pZGUH0rHQNPStdwzWttEJfPxlrmmbP2L8PRsSXImIDvOZTTdOsb5pm/aJFi/rZnMhAOJNv9ayMGnpWuoaela7hmlbaYsI/GSulzIyINzRNc2Lsz78UEf/lTO87PQzXT1iT3lsbbCSNgogUOKSQLn0z+RNPPJE0ChfSdiMiHnzwwaTdd999Sdu8eXPS3vnOdyaNwrwUDqcQI4VIa0PkFLJsK6Q7Ud+eiVrfPf/880mj0D6NzwUXXJA0CvxS6JsKM7Zt21b1XgoB03XRax+pIGHv3r1J+9KXvpS0hQsXJo2CvFQSQmO4YMGCpNWWdUw1z9YWG9F1ThoVc9B1QddAbXEMve7JJ5+sel2v0pm77747aeQ7Kl1Yu3Zt0sifdL3QGFJonnxHc+ooMSzPTgZ0P6Z5kV5Hcz6VHtA1cODAgaTR3BvBawsq3KDrj8pt6Nolz86aNatqu+Rjui5GoKzjHxgFz9L5ovIJgkqCyHt07929e3fSqOiD7hlU1kH70uu1dC3UQtuhB2S6jmitQtcBeXQYRXX9/Jrikoj40tiOviki/lfTNH/X196IDB99K11Dz0rX0LPSNfSstMaEH8aapnkqInIfqsgIo2+la+hZ6Rp6VrqGnpU2sdpeRERERESkBXwYExERERERaYF+q+3HzelhuH6CcBSAPnbs2IQ/j6D9o7KOn/zkJ0mjsCMFfOmbwCMibrzxxqrtUKnHtddem7SHH344aStXrkxa7bekz549O2m1xzxKwd1hQcdIgdrDhw8njUolqISjNrRNAVbyNoV76Zz2CuhSEJheS9cujQNdzxTQpZKQX/iFX0gajSuNQ22pR5chn1BRD4Xx6b3kEyo+oHNFr6PCje3btyeNvE1z6g9/+MOkRXARw1133ZW0//gf/2PSyIvkdyqYoRKOF154IWnnnHNO0uic0Oumg49roeucil62bt2aNLqH0X2StMceeyxpjz/+eM/9PBUq6ojgc037SPPs8uXLk/bUU08ljTx26623Jo2uPyoBo3KE6bo2iKifa2lOoLUXlWNQQRvdU2mupeuFXjdnzpykLVu2LGkRXH5H/qFjof2muZbGkOZpGkPyI31ebVnVePAnYyIiIiIiIi3gw5iIiIiIiEgL+DAmIiIiIiLSAj6MiYiIiIiItMCkF3jUQCE6CjFSSLs2WEfhSXodhXm3bNmSNKL229QprBgRsXjx4qRRIPf+++9P2vXXX580+qbzf/Wv/lXSLrvssqTVFkBQKH26BHJrWLhwYdIo1ErBe3ovnRe6Bqj8gwoXyLMUkp0/f37SIvhYqLSEfEyBWgrE01xw0003JY3KTehaI43moOkAead2fMiLNOdQIJo+j8oVaE684oorkkZz2KWXXpq0iIhHH300aXv27KnaHyoUoXvLunX564tojqZyE7omZ8yYkbTp4Fk6xlovkkaFBLSuoPIA0sgPVMKxbdu2pNG9k+b8CJ7bqNSDPpMKF2pLCqhkie4FtUUIpJ177rlJ6zo0HjRPUJkQ3StpLqLzT/MEeYLu21Q69MADDyTt5ptvTlqvufYHP/hB0uhYaNs0D9J7ab3xrne9K2lUMkNjTevXfss6CH8yJiIiIiIi0gI+jImIiIiIiLSAD2MiIiIiIiIt4MOYiIiIiIhIC7Re4EElEBR2pFAnlRzUQsFRCqc+/fTTSasNB1OgcuXKlUmjIGcv/V/8i3+RtL/7u79LGgUbKZBLAWEqbCCN9q+fc9IVaj1LHqPxIY2KXqhMhko4qKxj9+7dSbvwwguTtmDBgqRRUJ3GIILLNY4cOZI0Ombax8svvzxpF110UdKuu+463J8aaksBpkMRDZ0XGgsKmpPfaczo86jkgELSy5cvT9rSpUuTRqUetH+9+PznP5+0Rx55JGlHjx5NGhUk0LHUFlUtWrSo6r3TYe4lP9F9iM41jS3NnzS30fmja4D8QPu8du3apNE99uqrr05aRH0hBJWR0H7THE/lO1REQ2Pd6/4g/widb7qGaXzJt3T+qRSrdu1LvqV9piKMXvdK8h5BvqV1BK1zb7nllqTRuoagwjA6Zgs8REREREREpgg+jImIiIiIiLSAD2MiIiIiIiItcMaHsVLKZ0spB0spD5+izS+l3F1K2Tb27/xLoyItom+la+hZ6Rp6VrqGnpVRpKbA466I+B8R8eenaB+LiG81TfPxUsrHxv7+uxPZAQrC1YbjqCCDOHnyZNLom7ap+KA2FEvfQr948eKkXXPNNUnrFXbduXNn0lavXp00Cqs/+OCDSbvjjjuS9md/9mdJo3Gg4/v5n//5pFFJSEvcFUPyLYVTa0Pf9O3wFJSmQC2Ftmm7tH/Lli2ret2sWbOSRmUiFAyO4OM7dOhQ0nbs2JE0Kum59NJLk0alM3v37sX9OR06lhkzZiRtGAHdCu6KIc61p1NbSEJzJXnxrLPOqvo88jsVCND8OXfu3KRRYcaBAweSNp6Ci1//9V9P2pIlS5J2zz33JI3C4nRdUPiczgnNqTTWLRXM3BWT6FmC1gFnn3120mh+IW+Tx+ieSHPvqlWrkvaOd7wjaVRMROd0z549SYuIeOaZZ5JGcyDdt2nu/c53vpO0O++8M2krVqxIGo0XrbmodKKl0pm7omXPRvCx07VOPqPCOJpD9+/fnzRa01IJx7Zt25J25ZVXJu3iiy9OGq2RI/i+SuNAawbyDxXcXHDBBbjt06FxqN2/YXDGFUfTNN+NiNMrgt4XEZ8b+/PnIuL9A94vkb7Qt9I19Kx0DT0rXUPPyigy0f/9u6Rpmr//X0X7IyL/L0OR0UPfStfQs9I19Kx0DT0rrdL37+I0r/++Sv6dlTFKKR8upWwspWykHz2KtMHP8q2elVFEz0rX0LPSNVzTShtM9GHsQCllaUTE2L8P9nph0zSfappmfdM06+nLK0UmkSrf6lkZIfSsdA09K13DNa20ykTbFr4SEXdGxMfH/v3lie5AP0F5CjbSt4tTaJ++zfuxxx5L2hNPPJE0CqwuX748aRQsp+BtryIS0qnY4V3velfS/uRP/qRq2x/84AeTRgFIGkMK4tO3lY8QA/FtbcieSg6o+IIKJMif5HfyCF0DdO7p82j/XnjhhaptRHBwm0LEGzduTNqtt96atNtvvz1pTz75ZNLIn3T9jVCIvJaBzbU10HklH1P4ubbE5vzzz08alRDR66i8hcoxKJBOHongIg0qAKFjoXsBQeNK19XatWurPm/EmVTPEjRH0/m/6qqrqj5v6dKlSau9l7/44otJo/md7qe91gZUpEHz2A9/+MOk3X333UmjEoaLLrooaeR3Or7akquWSmeI1j0bweewdu1FcwyVtZD3aguZqFSp9v4QwcdCJTXki127diXtLW95S9LWrFlTtQ0qWqpdx9Xe68ZDTbX9FyLivoi4vJSyu5TyoXjdsO8spWyLiF8c+7vIyKBvpWvoWekaela6hp6VUeSMPxlrmuYDPf7TbQPeF5GBoW+la+hZ6Rp6VrqGnpVRpJUv0xEREREREZnu+DAmIiIiIiLSAhMt8BgYFKin8F6tdvbZZ1dt96WXXkoaBXIpiEihWgqg15YwUAA9gseGQpVvfetbk/boo48mbfv27Um77777knbttdcmjY5vhMK3I0mtd+ickj9ryxXodbRdei9tl0KtpEVw4c3u3bur9oeug82bN1dtm0o9qBhl5cqVVZ9HQepex9xV6PzTMdKcRUF++jxqG1u1alXVNp5++umk0ZxDficvnThxImkR7BO6JmlsKJBO1/2yZcuSRh6jcaDSJgrST1dovGkdQJ7YtGlT1XupDIgKWI4fP560V155JWk0z5577rlJ6zXnfPWrX03aQw89lLSdO3cmjdYVVPhFJSF0DdF1T2UG9LrpsoaoPc7aEgjyPBWp0OvIj+TbSy65JGm1ZSJUjhFRX4ZB6wO659A8TesNuo7omKk0io6FrtV+8SdjIiIiIiIiLeDDmIiIiIiISAv4MCYiIiIiItICPoyJiIiIiIi0QOuJ9NqgJ4UTzzvvvAlvlwL/FASv3S4FfA8dOpS02gBsBIcE9+7dm7T58+cn7frrr0/ali1bknby5MmkUbCcAscUdqQxpIBmbdHKKELHQxqd12PHjiWNxrZ2zKjk4JFHHkna2rVrq/aP/D579uykUfg1goPl5MUf/vCHSbvxxhuTdtVVVyXtwQcfTBp5dt68eUl79tlnk7Zw4cKk9bompxIUKqfzT3M0+Zg8S/MdFRtRwJoKlWh+oePYs2dP0qjUKIKPb/ny5VUalX+QF+l6oev+4MGDSaMwO411bfi/y9SWzhD79+9PGpUZ0H2XyjqoHIHOM50/mlNpTXLPPfckLSLiz//8z5NGhQt0/f3+7/9+0qisg/xJ3qZxqC2smA7z7DCgeZrmVSrXoHsgrV+p8GbdunVJozUk7UsEz8uk0b17yZIl+JmnUztPU5ENzaFUEjIMpv7sLSIiIiIiMoL4MCYiIiIiItICPoyJiIiIiIi0gA9jIiIiIiIiLTCpBR5N06SwJ5USUKiWAoEUOq2FQoc//vGPq7ZBAUEqUqBiDQoCUylHBAeJqTyEAswUGqYAJH2rOYVqKbhL54nOZ23AelQ5fTwonEwaBT8p4E0BaCpIICigvWzZsqSRHyjAOmvWrKRRqcD3vvc93B8KFs+cOTNpGzZsSNpb3/rWpJGfLrjggqRRAJkKZuQfoTIM8iL5mOYx8gmFwClATp9H/qR5iK4VKrF5/PHHk9ZrO7XHQvcCGi+6Lq644oqk9TNX1o5Xl6F7E5WZ1JZKUJEG3WN37dqVNLr/kUdou1Rg9Ed/9EdJI49ERPzcz/1c0i666KKkXX755Ul7+OGHk/a3f/u3SXv729+eNCpCoLUUjWFtqcd0ga5X8jLNHVQOR2UdtZ938cUXJ+0nP/lJ0miNTKVdtN6I4OuN7t20DiHv3XfffUmjZ4XbbrstaatXr04aldbQeNHavN91rj8ZExERERERaQEfxkRERERERFrAhzEREREREZEW8GFMRERERESkBc74MFZK+Wwp5WAp5eFTtD8spewppWwe++c9w91NkXr0rHQRfStdQ89K19CzMorU1H/cFRH/IyL+/DT9k03T/NeB71FwYxK1qvUDtUxRy9fatWuTRg2LmzdvTtob3pCfdamtpVfjFY0DNfBQgxO9d968eUmj1hqCWgCpBYeaxGgchsxdMUDP1rRA1baWLV68OGnUykUNhNTwtmDBgqRRg1LtOaCWIGpu+vrXv47vp8Yj8iK10NW2H1JrFF0X9DrybK/mp9OZhDawu2IS59ra4yHvkE/WrFmTtP379yeNmu5Io0a2w4cPJ+2ZZ55JGp3nm2++OWkRPLfRMde2JJKPabzuueeepF133XVJo9ZL8jvNLZPQpnhXTPL64HSoxYyOm9oGqfGYPEZ+Onr0aNLIs9QUSk11dD3SuY/gBkPyIvl46dKlSXvooYeqPu/aa69NGs35tb5rqWn5rhiBNS1ptD6kc01rBnov3bvJ39TK/MUvfjFpNJ+vWrUqaddcc03SInjeomuGGhGpDfzKK69MGnnqgQceSNqBAweSRmtkam8exlrgjCu0pmm+GxF51hEZUfSsdBF9K11Dz0rX0LMyivTzI4uPlFIeHPuRb36cHKOU8uFSysZSykZ6IheZRMbtWfo/SyKTzBl9q2dlxNCz0jVcH0hrTPRh7E8j4uKIuDYi9kXEH/d6YdM0n2qaZn3TNOsXLlw4wc2J9M2EPLto0aLJ2j8Rosq3elZGCD0rXcP1gbTKhB7GmqY50DTNa03T/DQiPh0RGwa7WyKDRc9KF9G30jX0rHQNPSttM6H0ZClladM0+8b++isR8fDPev0p76sq4qACgtmzZ49nF88Ihftpu7S/FPin8g96HZVt9Aq7UkiQQrUUfqfgL2kU+qRQM4U0B12qMkwm6tlayDsU0KVzQAHvPXv2THgbFGCtDbnT6/bt25c0CqBHRLz3ve9N2urVq5NGx0LbptIS8jsF1cmfFLqncgUqYaACh2EzTN/WFkPQPFZberJr166k7dixI2lUWFM7X9E+UzERnfsI9hN5gj6TygtII+9s3bo1aU899VTS6Lp485vfnDQq82mDYXqW5jsK+9P9neY7GjMquKDt0v157969SaOyIvIDlSj0+skLFWnQ/tQWLlBJBF27tN/r1q1LGq1z6BqncW2DYa8P6NzQdU3zKs155Cman6644oqkUREG+eyXfumXkvaDH/wgaVu2bEnasmXLkhbBczqNA5V60LHceOONSaPjo4gUzdPkUdo/Wr/0yxkfxkopX4iIt0XEwlLK7oj4g4h4Wynl2ohoImJ7RPzWwPdMZILoWeki+la6hp6VrqFnZRQ548NY0zQfAPkzQ9gXkYGgZ6WL6FvpGnpWuoaelVFk0r8ASkRERERERHwYExERERERaYVWvv78TNQWC9RCgXEKaF944YVJo2/fppA1FYxQoJKOjQKaERxMp+AgvY4CzBSqpa8boIAvjRd9CzwVKdSGn7sCHQ+NBZ3X2uIKKp+gzyOPUSEBfR55kbzUq/iAOHbsWNKowIO+n4WO75lnnkka7Tf5c86cOUmjAHrtOZlq0LkedFESBbapIIHKC+hcUanAddddV/Xexx9/HPeRQvPkO/IneYz8NG9e/tqiX/7lX04ajX/t/Elz71SjtgiB5gjyIs1DVN6zcuXKpNE5pfmY9u8//+f/nLS3vOUtSaMig4iIbdu2JY1KHWgdQPf82vvD3Llzk0b3G9pvOnd0rfQqNJuu0BjV3rPIE7S+o/v2RRddlLR3v/vdSaP18P/8n/8zaRE8r9L8RvPq7t27k3bvvfcm7eqrr04a3XNqyzroPjkMj0792VtERERERGQE8WFMRERERESkBXwYExERERERaQEfxkRERERERFpgJFPqFI6jcDKFGI8cOZI0Cu5SmJTCjhTeo9AvFQjQPtPn9QrpUmD8xRdfTBod36OPPpo0Cu7Onz8/aRSmrw1J0/FRQHOqFSTUfks7nWsq/3jhhReSRue59hvtyUsUYKVzSgHtXixatChpVIJD1ykVhRw4cCBpFLCnYDkV1lBBApU9dLlgphaas8iz/UD+3Lx5c9IWLFiQtH379iWNgt1LlixJGl0/vY5t//79SaO5ksoZ6BoiP9E9Y82aNUkjb9cy6HM3ivRTgFRbarVp06akrVu3LmlU4EElYDR/0nFQ8cDx48eTFhGxc+fOpP34xz/G154OlSjQftOcShp5lu75BF0r0wXyAN13aIxqy3pobqv147e+9a0Jb7fXeaX5kqA1Ea0t6ViosI/GgTxP9yEqeKLj6HfN4E/GREREREREWsCHMRERERERkRbwYUxERERERKQFfBgTERERERFpgZFsUaCQIAXBKfBPgVzSKPR72WWXJY2C4FSiQUHC2rBrr+A1BRYp2EiFG9u2bUvaW97ylqRdeeWVSaMSBwpE09hQQQUdR5ehcDJ5trakhM5/7Te8U2iUxpv2j84pFWYcPHgwaZdeeinuD51/Cs9S0QddL7XhZRoHCt7Wls7UBpW7AnmMjnvQxSU0R9B5Id9Q4QKVHJAXv/GNbyStVxHNjBkzknb48OGk0fW8evXqqn2ke9B9992XtBtuuCFpVLJE94HpUIZA1yUdN90TyWNUrLJ3796kLV68OGlUhEHXFGlUMkDXylNPPZW0CD5mKieibVP5x4oVK5JGBQe1pT+0f3TfpPdOtbm3F3ScNEeRRmNJczf5u7YIg0q/aB1euy8RXNxFRTgErUPomjl27FjSaG1P5ThUEEVlHTSG/ZbSTQ/Xi4iIiIiIjBg+jImIiIiIiLSAD2MiIiIiIiItcMaHsVLKylLKt0spj5ZSHiml/PaYPr+UcncpZdvYv+t+8VNkyOhZ6Rp6VrqIvpWuoWdlFKlJnL0aEb/TNM2PSinnR8SmUsrdEfHBiPhW0zQfL6V8LCI+FhG/O4idovAfheNmzZpV9XkUOqTyAgr4UvCaPm/37t1JW7JkSZX2+OOPJy0i4rHHHkvak08+mTQKy1Ko/aabbkoaFXhQMO3bB0wAACAASURBVJnCphR8HxGG6lkai14lLDXQe0mr/VZ6ulboveQv8vvKlSuTtmnTpqRFRHz5y19OGnn+jjvuSNqWLVuSRh6j46Nrkooi+g3ZDpGBevb0UDXNqbUaFWnQeSHv0LxIoXIKkFNwevv27UlbsGBB0k6ePJm0Z599NmkRXPZwwQUXJI18fO+991Zth95LQfNvfvObSbvooouSdsUVVyStpQKPSV0f0NxLpTzkTyqfoHvvnj17krZv376kPfjgg0mj80JFAe94xzuSNp5SACpC+MlPfpI0Gq8bb7wxabQ2WLVqVdKovIzWYbRdGv+WyjomfU1L93MqyKB5kO7d5Asq0qCCC5rvyE90L6gtXKHtRvDa8uKLL07a2rVrk0aFfbRt8uOyZcuSRiVipNE2aKz75YxXQtM0+5qm+dHYn09ExJaIWB4R74uIz4297HMR8f6B753IBNCz0jX0rHQRfStdQ8/KKDKu/y1RSlkdEddFxP0RsaRpmr//30X7IyL/r7/X3/PhUsrGUspG+j+iIsNEz0rX0LPSRcbrWz0rbeNcK6NC9cNYKWVWRPxlRHy0aZp/8nP35vWf2eHP7Zqm+VTTNOubpllPPwIUGRZ6VrqGnpUuMhHf6llpE+daGSWqHsZKKWfF66b9fNM0fzUmHyilLB3770sjIn8jm0hL6FnpGnpWuoi+la6hZ2XUOGOavbye4vtMRGxpmuYTp/ynr0TEnRHx8bF/5+T+kKEQI4UiKYBH3/pNAVoKT1IIcceOHUl7+umnkzZ37tykUcg9ImLp0qVJowIPOpaPfOQjSbvuuutwO6dD4efaEGNtwHOYtOHZfko9ags36POopIJCwBS8PnDgQNKoVICKGX7hF34haRER3/72t5NG5Rq0P7Nnz04ahb5Jo2Pup1SF5gIqChgUg/bsRAPGdNxUdkTUzndUjkHXD3n7oYceShrNiUSveej8889PGs2BdG1s3rw5aVREc8MNNyRt3bp1Sdu/f3/SyHcUwqfzVHvuJsoorA9ofKh8gCBP0HtpDqTCr9riinvuuSdpdO57zWE7d+5MGs2fVBxDhTB0TdYWo9TOizSuNE/VnruJMmzP1s699Doq4akttKN7Kml0vmo/r1cxx+n0mmtXr16dNCrcoLUqebmWfu7nk+XRmmqxmyLiNyLioVLK3995fi9eN+z/KaV8KCJ2RMS/HPjeiUwMPStdQ89KF9G30jX0rIwcZ3wYa5rm3ojo9Rh422B3R6R/9Kx0DT0rXUTfStfQszKKtPIlDyIiIiIiItMdH8ZERERERERaoCYzNrJQyUHtt4bT6yiQS4HK2uKQv/7rv676PApKRnBY8t3vfnfSfu3Xfi1p9A3mBI0hBedpvCgUSQw7kDsK1IZ2aczInxQuPXnyZNV2qZjjiSeeSBr57vjx40m78MILq14XEXHNNdckbdWqVUmjMoRLLrkkaXS9UFCdrhUq2qFrtzbE3yVqSnPIO7VFNORFmj/JxzNnzqzaBpUmUFkHFXCQtnDhwqRFRMyZMydp5EW6DhYvXpw0GsPbbsu//UTjQMe8Z8+epNWG+qcr5EXy2Fvf+takXXnllUl78MEHk3b//fcnjeZeulZoPibfkI8jIlasWJG066+/Pmkf/OAHk0bXPY0XUTtXTsU5tRY6TtKoDIXODa0tSaOyHppjnn/++ar30vqA7sf0eb3O9fz585NGBXR0vS1YsCBpdB3QNvqZGyerwMOfjImIiIiIiLSAD2MiIiIiIiIt4MOYiIiIiIhIC/gwJiIiIiIi0gKdTvxSIJeCoxTeoyAihR0PHz6cNApeXnzxxUlbv3590ii4S2HxiIj3vOc9Sfs3/+bfJI3ClxTwfPnll5NW+43vr776atIonE/vnawA5GRRezw0PnQO6PPIY88++2yVRuHXc889N2mPP/540qjMgIK8S5cuTVpExD//5/88aRSyJY0+k3xM1z2FgGu9WKvVlGKMKrWerX0d+bh2flm5cmXSdu7cmTQqzLjllluStmjRoqrtUslLr/ffdNNNSSN/3nDDDUnbu3dv0mjep2uNfEwlITQ/dNmftfRzL6HXUfnAkiVLkvbOd74zaVQo8P3vfz9pu3fvThqtSej6mTt3btIiIn75l385abSOIG9TeRLtT+09jXxHr5tq64BhQONBcwLdk2tLKk6cOJE0Oje0rqR7L60NexWa0fHR/EbrAyruql0fEFReR/eNyZpXp/7sLSIiIiIiMoL4MCYiIiIiItICPoyJiIiIiIi0gA9jIiIiIiIiLdDpAg/6dvpe31h/OmvWrEkahSIp5EdBcApP/uZv/mbVvvQLBTIpKEmBTApf0rHUlqVMteKDWmrDyeecc07V51122WVJo+ID2saGDRuSRiHgWsjvVGwTEfHaa69Vbfu8885LGvmTrkkqI5GfDfmkViNvz58/v0q78sora3dxoJBnewW7jxw5kjQq66C5ksZr2bJlVRpRO8/SdTYdoPGuHTOC5uOjR48mjcb78ssvT9rq1auTRoUZx48fTxrNf70KLmhOpeu0dq1ChRu1ZQbT4f7eL4MuiaJ7IL335MmTVZ9H76W1LxVmzJo1K2l0347gkjxaC9DxkR+pBKmf+bLNkhmvIhERERERkRbwYUxERERERKQFfBgTERERERFpgTM+jJVSVpZSvl1KebSU8kgp5bfH9D8spewppWwe+yd/Q7FIC+hZ6Rp6VrqGnpUuom9lFKkp8Hg1In6naZoflVLOj4hNpZS7x/7bJ5um+a/D271/hEK6FLajIGo/0DYoXEive/bZZ6u2QQHICA5BUoixttCgNpxPY02h3xEu6xiqZ2tD5DQ+FCSl9/ZTuEDh7n5C7hSwXbhwIb62NjBOYXWCxouKFAja7ggzEvMsUeudl19+ueq9BIXF6TzTdmvD7L32hfxNpUi14e7aQDt9HhVKtBkqPwMj4dnasagdx9mzZ1e9t7b8ispbqECM6OVZKmagtQ/tDx0zvXfQa6kRYiR8O2jofNF9mubL559/Pmk0n9N9m+7RvdYWNL/RZ86YMSNptPatLaWrXau2OdeecbXSNM2+iNg39ucTpZQtEbF82DsmMlH0rHQNPStdQ89KF9G3MoqM68cYpZTVEXFdRNw/Jn2klPJgKeWzpZSJd2eLDAk9K11Dz0rX0LPSRfStjArVD2OllFkR8ZcR8dGmaY5HxJ9GxMURcW28/n8Z/rjH+z5cStlYStl46NChAeyySB16VrqGnpWuoWeli+hbGSWqHsZKKWfF66b9fNM0fxUR0TTNgaZpXmua5qcR8emIyN80+/rrPtU0zfqmadYvWrRoUPst8jPRs9I19Kx0DT0rXUTfyqhxxsxYeT299pmI2NI0zSdO0ZeO/e5tRMSvRMTDw9nF1xl0MQQF9SgMSKHB2m9Tr9V6hXQp7EhhQhqb2rKHqUgbnq31Zz8+Ju8QFKitLROp3UavcDeF32sLT+h1M2fOrNqfrjMq8yydg9oiFJo/a/006Hm2dhsRXHjTT4EOaVQS0g+jMJePsmdrX1cb4q8tACCP0Vz30ksv9dzPGshPtV4ckZKt1mjDt5OxHqPzSkUY5J1Br2l7HVs/Hq19b695ftSpucveFBG/EREPlVI2j2m/FxEfKKVcGxFNRGyPiN8ayh6KjB89K11Dz0rX0LPSRfStjBw1bYr3RgQ95n5t8Lsj0j96VrqGnpWuoWeli+hbGUWm98+rRUREREREWsKHMRERERERkRaoS2ZPQaZzwYV0k1p/9irXEJls9Kx0DdcG0kX0bbfxJ2MiIiIiIiIt4MOYiIiIiIhIC/gwJiIiIiIi0gI+jImIiIiIiLRAoW/PHtrGSjkUETsiYmFEHJ60DQ+XqXIso3ocFzZNs6itjZ/i2YjRHaPx4nEMFz07eDyO4aJnB4/HMVxa9WzElFzTTpXjiBjNY+np2Ul9GPuHjZaysWma9ZO+4SEwVY5lqhzHMJkqY+RxTB+myhh5HNOHqTJGHsf0YaqM0VQ5jojuHYu/pigiIiIiItICPoyJiIiIiIi0QFsPY59qabvDYKocy1Q5jmEyVcbI45g+TJUx8jimD1NljDyO6cNUGaOpchwRHTuWVjJjIiIiIiIi0x1/TVFERERERKQFJv1hrJRyeynl8VLKE6WUj0329idKKeWzpZSDpZSHT9Hml1LuLqVsG/v3vDb3sYZSyspSyrdLKY+WUh4ppfz2mN65Y5ksuurZiKnhWz07fvRs++jb8aFn20fPjp+u+lbPjhaT+jBWSnljRPxJRLw7Iq6KiA+UUq6azH3og7si4vbTtI9FxLeaprk0Ir419vdR59WI+J2maa6KiDdHxH8YOwddPJah03HPRkwN3+rZcaBnRwZ9W4meHRn07DjouG/vCj07Mkz2T8Y2RMQTTdM81TTNyxHxxYh43yTvw4Romua7EXH0NPl9EfG5sT9/LiLeP6k7NQGaptnXNM2Pxv58IiK2RMTy6OCxTBKd9WzE1PCtnh03enYE0LfjQs+OAHp23HTWt3p2tJjsh7HlEbHrlL/vHtO6ypKmafaN/Xl/RCxpc2fGSylldURcFxH3R8ePZYhMNc9GdPhc69kq9OyIoW/PiJ4dMfRsFVPNt50+z132rAUeA6J5vZayM9WUpZRZEfGXEfHRpmmOn/rfunYsMnG6dK71rER071zrW+naedaz0rXz3HXPTvbD2J6IWHnK31eMaV3lQCllaUTE2L8Ptrw/VZRSzorXTfv5pmn+akzu5LFMAlPNsxEdPNd6dlzo2RFB31ajZ0cEPTsupppvO3mep4JnJ/th7IGIuLSUsqaUcnZE3BERX5nkfRgkX4mIO8f+fGdEfLnFfamilFIi4jMRsaVpmk+c8p86dyyTxFTzbETHzrWeHTd6dgTQt+NCz44AenbcTDXfdu48TxnPNk0zqf9ExHsiYmtEPBkRvz/Z2+9jv78QEfsi4pV4/feCPxQRC+L1lpZtEfHNiJjf9n5WHMfN8fqPax+MiM1j/7yni8cyiWPWSc+O7XvnfatnJzRmerb949C34xsvPdv+cejZ8Y9ZJ32rZ0frnzJ2MCIiIiIiIjKJWOAhIiIiIiLSAj6MiYiIiIiItIAPYyIiIiIiIi3gw5iIiIiIiEgL+DAmIiIiIiLSAj6MiYiIiIiItIAPYyIiIiIiIi3gw5iIiIiIiEgL+DAmIiIiIiLSAj6MiYiIiIiItIAPYyIiIiIiIi3Q18NYKeX2UsrjpZQnSikfG9ROiQwLPStdRN9K19Cz0jX0rLRFaZpmYm8s5Y0RsTUi3hkRuyPigYj4QNM0j/Z6z8KFC5vVq1dPaHsyPdm0adPhpmkWDeKz9KxMBoP0bMT4fTuVPfvTn/606nVveIO/9DEe9Gz3obVcKaXqdQS9d5Ro27MRU9u3E302GEVGxcvbt2+Pw4cP4868qY/P3RARTzRN81RERCnlixHxvojoadzVq1fHxo0b+9jkcOlnkqJFAr1uPKaonVwH/d5RopSyY4AfN+U8O9Xpoo8H7NmIcfq21rODHtvaz6t9oKLPe/HFF5NGD17nnntu1b6MZ9uTMTZt0RXP1jLoB5Naz77xjW+sel0/2xjP+/tZqwz6f2gM+vPa9mzEaPl20PPJK6+8UrWNV199NWlvehM/WtR6nF7X6zNrIO/Vjtcgx3X9+vU9/1s/V8fyiNh1yt93j2kio4qelS6ib6Vr6FnpGnpWWmPov8tRSvlwKWVjKWXjoUOHhr05kb7Rs9I19Kx0DT0rXUTfyjDo52FsT0SsPOXvK8a0f0LTNJ9qmmZ90zTrFy0a2K/3ikwEPStd5Iy+1bMyYuhZ6RquD6Q1+smMPRARl5ZS1sTrhr0jIv71QPaqJfr5/erXXnstafR7quP5nfJ+MhgG2JGR9OwoBapHzUujlKtpkaH4dpTGlubP2swtZRb6PbZBZzdq92fUrr8+GMm59nRq7+W1ryM/9JN/6XVvqF1v0LbpeunHx3Qs/eR7WqR1zw46H1brE/q8s846q2obL7/8ctV2e22H/Ei+pRxwLS+99FLSyKNtzrUTvmKapnm1lPKRiPh6RLwxIj7bNM0jA9szkQGjZ6WL6FvpGnpWuoaelTbp639fNE3ztYj42oD2RWTo6FnpIvpWuoaela6hZ6UtOvn7DyIiIiIiIl3HhzEREREREZEW6GTK8u+ZjLBzbVCSwo4UTCROnDiB+nnnnZe02pDuCy+8kDQqDzn77LOTRvtN7+0nqD5K5QGDoLbopZZ+ymToyxrpPO/atStp5EXy9owZM5IWEbF8ef5aFtrvffv2JY38PmfOnKSRF2m/Z86cmbSOliEMBQqGU9CZNPIEBaLpdf2ExWkbtH80h9EXRkdEbN++PWkLFy5M2qxZs5JG19o555yTNPIsHUvtnDHqXyLdNv2MRW3JFs0ltQUetV9+2+s4au8PtddpbUEJ+Z2utdpSBtq/2rlgVDj9nPdz7yb6Kf8hP9YWuNCagei1FqiFriOa03utk2uovaZrj3kYuDIRERERERFpAR/GREREREREWsCHMRERERERkRbwYUxERERERKQFOlPg0eub6E+HQqcU3qPPo3Bqr28SP53aoCxx+PBh1CkYScFG2m8KRVKwnLZB40XhdWI6hMhrvVhbhEIeIz/Vlk889NBDSfv5n//5pD3zzDNJO3bsWNLG4wd67bPPPpu02bNnJ40CulREQ56tLZOZjNKfrkDjc+655yaNQs0vv/xy0mhsqTSD3ls7R9N1QdcPXXu95nKaP2lOPnnyZNKoJKbWnwTtI713uhZ41M69kzEW5Bu6P9M+U1kR0et46bo6//zzqz7z+PHjSXv++eeTVluuUVtUVjvfdI3Tj4vOGWmDvu+Q92qLWWjupvPab1kHQfd9WjPUFubUrnNrC2Uma16dnqsQERERERGRlvFhTEREREREpAV8GBMREREREWkBH8ZERERERERaoDMFHkTtN9uTRoFxCuTu37+/6vMWLVqUtLlz5yZt3759Sdu9e3fSIjh0eODAgaRRYJG2TYUi8+fPTxqF0qdDOLyW2kB97XtJIy/WlhdQ0PXpp59O2pEjR5JGwVkKBvcqp9m6dWvSyMcLFy5MGl1XtB261ugaoHGl11FBBTFdiz7ouPsJ3lN5ARW1UICcPELz1Xi47rrrJvxe2m+CjoXmDLovEdPVi7WFBLVzdO14U2EG8dxzzyWttoSIigyefPJJ3A6VL912221Jo3mWypNII+i+VFuKRPev6UKtz2qpXefS/a62ZIb8SNug9z7xxBNJi4hYvHhx0pYvX560efPm4ftroOut1rf0utoiqX7P8fSc0UVERERERFrGhzEREREREZEW8GFMRERERESkBfrKjJVStkfEiYh4LSJebZpm/SB2SmSY6FvpGnpWuoaela6hZ6UtBlHg8famaQ4P4HP+AQrM1RZI1L639hvHt2/fnjT6tnoq5pgzZ07SqOCAPi+iPkBJZR3Hjh1L2gUXXJA0Cj9TWJmKPjrOQH1LviONzt/LL7+ctNqCBDpXVAhD26D3UqkHBWJ7BWwpAEthdfI8BWDpmqwte6DPo/KI2uKQEWDgc20NNEfQ/NLPHEHnZdu2bUl7/PHHk7ZgwYKkLVu2LGk7d+7EbZNnjx49mjQKn5N3aN6n46P9psA9XT9UkDCipR4D9SyNd20pUm3JUu02aLypYIvm1D179iSNvN2LgwcPJu3+++9P2mWXXZY0mttuvvnmpK1cuTJp/ZbldIS+PDsZZWd0vyPoHk8FHrTWJI/S/PSd73wnab3WtLROpgKlW2+9NWmXXnpp0qjIpp+1AL13subVkZy9RUREREREpjr9Pow1EfGNUsqmUsqHB7FDIpOAvpWuoWela+hZ6Rp6Vlqh39/Fublpmj2llMURcXcp5bGmab576gvGDP3hiIhVq1b1uTmRgfAzfatnZQTRs9I19Kx0Dde00gp9/WSsaZo9Y/8+GBFfiogN8JpPNU2zvmma9fRlrSKTzZl8q2dl1NCz0jX0rHQN17TSFhP+yVgpZWZEvKFpmhNjf/6liPgvg9ip2vAtBcsp3E9BPfoGbQrqUUDwscceSxoFFimg/eSTTyatVxiTQodLly5NGoVqKWw+a9aspFGgkgLjVApB0Lep03lqqyBhWL6tLYQhb5Nnaws8qHyAfEcFHqSRj48fP540KnCI4MA4+ZiOuTZgT5BnaawpgHz++edPeLuTwbA8S9claeRt8gSdv127diWNrgvSqHDj3nvvTdrChQuTRsH1t7/97UmL4KA6lS5s2rQpaVQUQoVK9Dq6dsmLdK8irbbIYjIY5vrgdMiftYVKBM1XNG/cd999SXvggQeSRoUJdN+lOZHeGxGxd+/epNG1++yzzyaNyhoOHTqUtDVr1iTt6quvThoVfdB40f7VltNMBpPp2WFA927SaE6g4hma48m3tB6mNXcEXx+f/vSnk7Z69eqk/ff//t+T9s/+2T/D7ZwOeZ78SL7tp1BwPPSzIl4SEV8a26k3RcT/aprm7wayVyLDQ99K19Cz0jX0rHQNPSutMeGHsaZpnoqIdQPcF5Gho2+la+hZ6Rp6VrqGnpU2sdpeRERERESkBXwYExERERERaYFJb1E4PQxXG4SrfV1tkQKF8igUTUFwCs9Sq87WrVuTRqFI2kYEh3c3btyYNPpm8q9//etJozG8/PLLk0ZhTtoufUv6LbfckrR58+YlbapR6x0KjZIXKdxP4VLSqGyFrgG6Vqiw5sEHH0za7bffnrSIiLPPPjtp5DsKadcWSlAomcaBxrC2PIL2j4L9XaafOZWC91Q6Q8UVO3bsSNqjjz6aNPISFRNRWPzo0aNJozksgq/d7373u0mjAiQaB7rulyxZkjTyHXmWxp/OHb1uOni29ripsKi2SIrm1Mcff7xqG1R6QK+jcq9e1+iWLVuStnbt2qRdeOGFSaPrj/aH7gX79+9PGpXO0HVK1zOdu7YKPEaB2rIIeh3dF+fPn580mmMOHjyYtHvuuSdptBag80pzZUTERRddlDQqpaNSpU984hNJIz/+6q/+atJoPqBxpbEhP/ZTNtaL6et6ERERERGRFvFhTEREREREpAV8GBMREREREWkBH8ZERERERERaYNILPGpC47UhRgrlUZCfwqn0eRREfeGFF5JGoUH6Fnp6Lx0bhSwjuCiEApQUTKdQ+6//+q8nbc6cOUmjgO+GDRuSdvXVVyeNikyohKErNE2Tgva1oe9du3YljXxCnqVgM0Gvo0ICKoN59tlnk/bNb34zaW9961urtAguf6HrgEKxtUUFNF7kdwoR07kbRhi3C9A5oDA2FU3QOah9HWkzZ85M2vbt25NG1xSdewqfP/bYY0mL4NA2FRDcdtttSast4aDrgsLsF1xwQdJqS39qC1m6TO28SGNG64UTJ04kjeYI8iKtK5577rmkkR9obqIyrV5zE5Ue0DqCSnUuu+yypNHYHDlyJGlUREO+oxIbWmvQ9VN7f50ukJfJtzSfU6nH9773vaTde++9SaP1ARXCkMd6FXisXr06abR+/f73v580mkPvu+++pNF1QOU2K1asSFrt/c8CDxERERERkSmCD2MiIiIiIiIt4MOYiIiIiIhIC/gwJiIiIiIi0gKdTkpSKQFpFDCl182dO3fCn0dByTVr1iTt0KFDSbvyyiuTFhFxww03JO0Xf/EXk7Zp06akUQiW9vEb3/hG0m699dakfeADH0gahX6nGqWUqkAxBcupuILCuFRoUAtt95FHHqnaxqOPPpo0Cqa+7W1vSxqFdnu9n8oQyDsUlKXrj465VqNroDYw3iW/1wSM+yl8oDGj8aZQ+YIFC5K2c+fOpFEZQq0/3/e+9yWNQu+9uPvuu5NGhQ1UVHDw4MGkrVq1KmlUdkRlJLX73SV/DpvaghOaX+gc0Oto/iRvX3LJJVWvo3IEKvGK4PvI0aNH8bWnQ3M3lTXQumLGjBlJo3IvGv/pXNbRT+EDFcAQdG6efvrppD388MNJo3ns5MmTSfvVX/3VpP3bf/tvk/bVr34V95FKXN773vcm7Z3vfGfS6Hqj9TTdS2i7NF7z5s1L2mTNq/5kTEREREREpAV8GBMREREREWkBH8ZERERERERa4IwPY6WUz5ZSDpZSHj5Fm19KubuUsm3s3/kXLUVaRN9K19Cz0jX0rHQNPSujSE168q6I+B8R8eenaB+LiG81TfPxUsrHxv7+u4PaKQraUmC1NoBO4UkKLG7durXq884666ykHT9+PGkLFy5MGpV1UIAxgkO+s2fPrtlFLCqgACSFeem9FCKlMZw5c2bS+ikK6IO7Yki+JS9SWcdFF12UNPqGdwqMUxkC8f/+3/9LGnmRCjwoHE5h3CuuuCJpVK4QwcdC0BhSmHvWrFlVn0fvpdAuzQV0PZM2CdwVA/JszTVH54DCyjRHUKkEfR5BcwTNaz/4wQ+SRuVCa9euTdr8+fOTRmUiERHPPPNM0mj8vv/97yeNyjqWLFmSNPIdbZfGmjTav9rSigFzV0zi+oD8ScdI8yeNT23RFa0NfvzjHyeNigduvPHGpFHZBu0L3VcieD6n+zG9bv/+/Un7m7/5m6RddtllSbv++uuTtmLFiqQdOHAgabSGoGtyEgoT7opJXtPW3s9pPGqvazr/dJ+mIiKaf+kc0nz31FNPJY3WORERe/bsSRoVu9Daed26dUnbvn170uhY6JresWNH0mj8qdSj172kH874iU3TfDciTp853hcRnxv78+ci4v0D3i+RvtC30jX0rHQNPStdQ8/KKDLRx7slTdPsG/vz/ojI/ytQZPTQt9I19Kx0DT0rXUPPSqv0/bO25vWfofb8EoVSyodLKRtLKRvpOwFE2uBn+VbPyiiiZ6Vr6FnpGq5ppQ0m+jB2oJSyNCJi7N/5F0nHaJrmU03TrG+aZj19yaXIJFLlWz0rI4Sela6h8UI1awAAHYRJREFUZ6VruKaVVpno159/JSLujIiPj/37ywPbox5QqJNC9hQGpPAeBWPpW+gpeHn++ecnjQJ9FEKkfabgZUTET37yk6RRAJKKPpYvX540KpSgoDtBY0jnhMKmwwg7TpCB+JY8QeFrKjToFWw9ndox++Y3v5k08hidvwsuuCBpFMamfTl58iTuz7Jly5JG1wv5hIpHdu3alTQq5qDxp+uKyhBaKuuoZWhzbW1QnvxOflq8eHHSXnrppaRt27YtabUFFzRfkY9pniSP9NrOQw89lDQ6FroO3vWudyWN9ptC+HT/otfVllZMQhkCMTTPkk9qCw5ofOicUsEBFQl997vfTdqdd96ZtA0bNiRt9+7dSTt8+HDVdiMi6CGA1jRUFELFOLQ2oDKnt73tbUmj8aJrrSUv1jLUNS0dO/mRrn96L60taB6jAo99+/Yljeax22+/PWm0rqR16po1a5IWwfMglePQWoDWFnQd1BaB0VqAvEznqZUCj1LKFyLivoi4vJSyu5TyoXjdsO8spWyLiF8c+7vIyKBvpWvoWekaela6hp6VUeSMPxlrmuYDPf7TbQPeF5GBoW+la+hZ6Rp6VrqGnpVRZGR+f0xERERERGQ64cOYiIiIiIhIC0y0wGPSoZAuUVteQGUd9O3iVAJw3nnnJY1Cfnv37k0aVaFSGDMi4pZbbkkafYs9hXSpiIGCkjNmzEgaFSTQ8dHrKDhNpRX0ulHl9PNTG06mMCid617FAqdDAd2nnnoqaW9+85uTtnPnzqTddNNNSSM/HDlyJGm9Smdof/72b/82aTfffHPS3vve9ybtwgsvrNof0k6cOJE0Ct5SiL/rnq2BrmnSaM4hn9A1QAHyxx9/PGlz586tei+FzynsTVDRRwSXxNDcTeF6ug4oaE7lJjTWND+QZ2tfN9WgMSPoXNGYkUZrjbVr1ybt3e9+d9L+03/6T0mjOfEP//APkzZz5syk9SpK+tGPfpQ0KgChIhvy9p/92Z8l7frrr8dtnw6dE5o/aaxHvDxpYJAfa19H1zXd22rn3yeffDJpx44dS9onP/nJpNHcRtx9992of+ELX0habdEWFeKtXr266nW13qNrkLRhMPVnbxERERERkRHEhzEREREREZEW8GFMRERERESkBXwYExERERERaYGRLPCgAG2vkoua19WWK1C5BoX2KWz+wgsvVG3jscceS9qXv8xf9r5q1aqkUaiWAvF33HFH0tatW5c0Or7aECm9jj6v68UHpx87eYyOkcasn8DyvffemzQKv+7YsSNpV111VdIWLFiQNLpWHnrooaR99atfxX0kLz7xxBNJ+6M/+qOk/dqv/VrSfvM3fzNp11xzTdKoVIega7Lr/pwoNM/WltPUjjeFxcmzVDBzxRVXJO3nfu7nkkbHQaUsVNoUwcVG27ZtS9qsWbOStmbNmqRdeumlSaOSkHnz5iWN5lQafzpmet1Uo/Z+RdC1T+UTVORFhQk33nhj0h555JGk/bf/9t+SRgUXVFZEpRwRPCcfOHAgafv370/av//3/z5p5G0q/6DXEbWerS1mm4rQXEvjQQV05Nte89vpUBkNlczceeedSfuDP/iDpP3v//2/k0bXQUTEOeecU6XR/YU0Ghtan1EJB80btD6jOYfOU7/rCH8yJiIiIiIi0gI+jImIiIiIiLSAD2MiIiIiIiIt4MOYiIiIiIhIC4xkgQcF4SiwWBvmpaAkFW5QAPKVV15JGoVvSaPA4ZIlS5J25MiRpEVE7N27N2krVqxI2vnnn5+0b3/720l75plnkvb2t7+96vOojKK2VGUYYcfJ5PR9rS0zoRAzjRl9HkF+IO9ce+21SaPSi82bNyeNroHvfe97SSMvRUSce+65SfvIRz6StPvvvz9pdK1Ruc3x48eTRqFkCpvXlhx0yZ8TpZ+xIB9TCQcVEJDfjx49mjQqmLnooouSdvLkyaTR/YIKHCK4rIP2ceHChUmjuZLGZsaMGUmrHf/aQqWuz7M10Hkl6LhpvGkc6R5NZTJU1DJnzpyk/cVf/EXS/vqv/zpps2fPThqVekREPPDAA0mj/aaSkfXr1yftsssuw+2cDl1rNG+TF6moobZEoevQGpQgP1IZEY0RnQcqdaF5lQpqtm/fnjQq3qJjo5K7CC7SoGOh64heR/Mv+Yz2hwqUaO7uZ802HvzJmIiIiIiISAv4MCYiIiIiItICPoyJiIiIiIi0wBkfxkopny2lHCylPHyK9oellD2llM1j/7xnuLspUo+elS6ib6Vr6FnpGnpWRpGan4zdFRG3g/7JpmmuHfvna4PdLZG+uCv0rHSPu0LfSre4K/SsdIu7Qs/KiHHGipemab5bSlk9/F35J9usel1tmx+1zMyfPz9p1Frz4osvJo0anaihprZB68orr0xaBLeT0dgsXrw4aWvWrEkatdFQ2w41z1BLHn1ebZvlMFu+hu1ZatKpbfmqbYoi31FLEPn4ggsuSBqdFzrPzz//fNLo3JO/IiIOHjyYNPLnDTfckDTyNjUikmepZY/aTMmLo9Le1cZcO1GOHTuWNGorpDmaGjupqXDlypVJo+uC5nfyca/WWto2XRvk7VtvvTVp1PBFzWTUGEYtv+TZ2na2YTPZnq1tjKxdG9A9mjz24IMPJm3Lli1V233LW96StB07diSNfEPthRG8jqB5f8OGDUn7v//3/yZt6dKlSaPrj67x2uZKuke2MfeO8jxbO27kC/LyokWLkrZr166k0fqV7p/UAkrrA7pvR/C6obaRlsaGtk3rM9Ko6Zeuoclqqe0nM/aRUsqDYz/yzR2RIqOHnpUuom+la+hZ6Rp6Vlpjog9jfxoRF0fEtRGxLyL+uNcLSykfLqVsLKVsPHTo0AQ3J9I3ela6SJVv9ayMEHpWuobrA2mVCT2MNU1zoGma15qm+WlEfDoi8s/C//G1n2qaZn3TNOvpR6Yik4GelS5S61s9K6OCnpWu4fpA2mZCD2OllFN/wfhXIuLhXq8VGQX0rHQRfStdQ89K19Cz0jZnTAGXUr4QEW+LiIWllN0R8QcR8bZSyrUR0UTE9oj4rSHuY0RwoI+CjVRUQCHRq6++OmkUin7kkUeSRmHs2nIMKjOg4pAIDhhSuHjPnj1Jo0Am/V8cCrWTtmTJkqRRiLG2yGKYtOFZCnmeffbZE/488hNtozZ4S++tLQag8CtdZ72gsPG8eflX8p955pmkUcnBzJkzk0bFB6TNnj07acMskxkPk+1bCuPT9UsalcnQ/EJlHfv27Uva2rVrk7Z8+fKk1ZY10Hb379+ftAief+k6IM9SUcjTTz+dNBrD48ePJ43OCYXKickKmp/2+ZPq2UEXPtBcsnfv3qTt3r07aVQe8NxzzyWN/EXnlLZLc2IEl2usWLEiaV/5yleSRgUO27ZtS9rtt+fCwXe84x1Jqy1RINpYL4zKmrYW8gqVddT6jDx67733Tni7dI9+//vfn7QIXpvUFj/RtunzaN1F6xXybW3p1zDm2po2xQ+A/Jm+tioyRPSsdBF9K11Dz0rX0LMyivTTpigiIiIiIiITxIcxERERERGRFvBhTEREREREpAXOmBkbZShEV/tt5aTRN4HTN4lfeOGFVdulkDsFE2lfIjgQX/sN7RT8pXAiHR8FFilkSdD+0XnqMnQOKbxJY1HLiRMnkkb+XLp0adLId1QWQGF40igQ2yusum7duqRR8QEV0VBJDAXsKRxOHnvllVeqPo8gv/dTyDKK0LmmEDj5ifxJ88aaNWuSRt/NQ0U0NIfRPlOJxsGDB5NGRUcRXPRCHps7d27SKAT+4x//OGkUmqdQ+Q033JC0Wt+1UeAxCtB8XDu30TxERRo0l5BvFi5cmDQq8qK5jrbbq+DisssuSxrNvXT+N2zIre20NqDCBFqr0LVCnzcK5V5tUVt4RZ4i71EJC63lLr744qT9u3/375JGflq2bFnSPvrRjyaNym16zTs/+tGPkkbHUlsaVltaQoVOVBBF9zBiGHOtPxkTERERERFpAR/GREREREREWsCHMRERERERkRbwYUxERERERKQFRrLAg4JwFKyrLVKgkDUFd+lb7Sk8TSHWp556KmkUcl+9enXSKAAZwQF20ihMSAHaw4cPJ63228qJ2hAjhTG7DBVz1JZKUOCUzil93uzZs5NW608qYaD9o9fR9dOr0IVC6FTOQOU0R44cSRoVH1DJwfz585M2Z86cpNF4UUB6OhQf1JbO0DxL55/mHGLFihVJo/mYNJpT6XV0nfUq1KFiB7oX1IbK6fqja4iuZyp2IB8T08GzdK3SeaXX0dx09OjRpFHYn7xN53nnzp1Jo1IGeu8111yTtC1btiQtgv1N+00lDFRuQ9uh67S21KOfcqipCM0dVGhCGs0xdL+jbWzdujVpVNZx8803J438RNcVrWk3bdqUtAiev2m/qYyE5lBaw1ChE5WIUSFabYHHMObaqbVKFhERERER6Qg+jImIiIiIiLSAD2MiIiIiIiIt4MOYiIiIiIhIC4xkgQeF8mrLOigMuGfPnqQdO3YsaVTCsXTp0qRdeeWVSaNv8/7e976XNApFUqgxgsOEtQULFL5dvHhx0ijESIFoCpbSOaHxnw7B8tpjpOIDGjMaW4JC3xRKp5A1+YtC1uSvXiUvFCynwDgFgem6p6IP2gYFwelaoXGlcei6Z08fSxrb2rA4aTSOtSVGVFhDcw69l84LvY6KX3p5tnbb5Fk65g0bNiSNQvN0z5g5c2bS6NwRtYVKXYbmp9qiJBoLKgqgtQGVApCP6ZqqLcJ44oknkjZ37tykRfD1R++n9QuN4apVq5JGBTN0H6FyExqH2nXFVITu8aRRWQ+tGcmPtLagOe+hhx5KWm2ZF82BdA537dqVtAgu0aFtk8/WrFmTNLp3UwkSlYxQqUctFniIiIiIiIhMEXwYExERERERaYEzPoyVUlaWUr5dSnm0lPJIKeW3x/T5pZS7Synbxv498Z/5iQwQPStdQ89KF9G30jX0rIwiNT8ZezUifqdpmqsi4s0R8R9KKVdFxMci4ltN01waEd8a+7vIKKBnpWvoWeki+la6hp6VkeOMBR5N0+yLiH1jfz5RStkSEcsj4n0R8baxl30uIr4TEb87iJ2icByF/CjsTIHFF154IWmHDh2q0v7iL/4iaRS+pQDswoULk3bkyJEqLYLDkhQapvGiwDgFianAgzQqUqDSBNImO1g+aM/WBOhrj4cCp7Xf+j5//vyk1RZm0DZefPHFpNGx0nspYBvBhQYrV65M2g033JC0rVu3Jo1C5JdccknSags8KEQ+Cgzas6f7sbbsqLaAh15H8waVBVBpAnmRSjRou1QgQHN+rwIPKkMgz5IXqYTj4osvTlptKVU/0NgMmzbWB6dTO/eSP2kN8cgjjySN7tHk7V738tMhL1FRUi8effTRpC1btixp5M/aAo/awi/6PJp7aY6uvfcNklHw7Higuaz23k2FGbSGPHDgQNJonUslIbQG2b9/f9IieN2wYMGCpJGnyHvkW7rH0xjSeNG9hD6P9q/fNe24Zu9SyuqIuC4i7o+IJWOmjojYHxG5wkSkZfSsdA09K11E30rX0LMyKlQ/jJVSZkXEX0bER5umOX7qf2tef8TEHx+UUj5cStlYStlIP3kSGRZ6VrqGnpUuMhHf6llpE+daGSWqHsZKKWfF66b9fNM0fzUmHyilLB3770sjIv9uVEQ0TfOppmnWN02znn7VTWQY6FnpGnpWushEfatnpS2ca2XUqGlTLBHxmYjY0jTNJ075T1+JiDvH/nxnRHx58LsnMn70rHQNPStdRN9K19CzMorUpCdviojfiIiHSimbx7Tfi4iPR8T/KaV8KCJ2RMS/HM4uvg6F46jggoKNFNw+fvx40ijYuGPHjqTRj6YpiEpFAxRgpABkBH/L+tKlS5NGxRwXXXRR0igASWF6CjFSOLw2fDvZBR4xYM+evq90PLXHSGFQei99qz2FzSnAum3btqQdO3Ysac8991zV/j377LNJo+sngr1D0D6SF6noY8mS/Kv8FCzup9CghTKEkZhn6bgpeE/nmUL7NPfSuaKgORUa1M4bFAqn+TSC50U6PppTaY6n+ZiuZ9JamCv7ZSR8ezo0l5AX6f5O401zL93/qLjgoYceShqVY1DxEl1TEVyoRZ6n63nu3LlJo7Ix2jaNDY0D3UfovS15eyQ9G8H3Wir6ofmJCo9q30t+pLU0zaG0DSq4iOB795w5c5J2/fXXJ23evPxNAzR3E1SYQ76le91k+bamTfHeiOi15dsGuzsi/aNnpWvoWeki+la6hp6VUWTyu3BFRERERETEhzEREREREZE28GFMRERERESkBSb/688nCIXtasOk69atS9rKlSuT9thjjyWNQuRbt25NGoVvSaOANoUnIzjseOGFFybtPe95T9Io2EjBXQomU4iRApm1JQcjHkAfN/0cD40jjTeFp2tD0RdffHHSdu7cmTQqEKgNY/eCPLZ27dqk1ZZ10D5SCQ75uJ+ilekKhbFrfUKvoxD49u3bk3b06NGqz6OSJdoXKpjp5WMqdqDrjwoSaDtU4kD+pDm61rOktVA6MxLQ+SMfkxdp7qX7MX0eFdFQwdbTTz+dNCpPGk9hDZUwUBECFXPQ8V166aVJo/UH7U/t2qC28GsqQmVzpNFYUllL7XxJ8w55j+Y7eh2dVyqg6+VbmvPmz5+fNBqHGTNmVL2u1md0LG3OodNz9hYREREREWkZH8ZERERERERawIcxERERERGRFvBhTEREREREpAVGMlFJ4eTaUB4FBCmIeNVVVyXtkksuSRp9E/jXvva1pG3evDlpFCymkC0FdyMirr766qRRQQKFdOkz6b0UWKRQc215BGFBwj9CQXAKY5N3aBwp1Eohcgr3vvDCC0l76qmnkkbFBb2uRzqWDRs2JI1Cu+Q70qj8g6Cxrp1HpkPRR20xRD/lPceOHUsanT/axu7du5NG8yedZ7p+6N4QwdcGbadWo7mSrguC9rt27p0OniVofGqLBujc03upCOH5559P2hVXXJG0EydOJI3KP+j80f5FRKxatSppVEpGhV90HdAcXzuudO1OVy/2orYEq3Ys6TzQmo/8Q/tCZSLkk9rSC5rHInhtQt6j19H+0PqA5traEqo2fetPxkRERERERFrAhzEREREREZEW8GFMRERERESkBXwYExERERERaYGRLPCoDczVhs1nz56dNAoYvvjii0lbsWJF0j70oQ8lbe/evUk7fPhw0ihsTuHJCA6HU/idjo/CnDReFICkYGNtAFX+kdpwOHninHPOSVpt0cf69euTRuU0tF0qBDl48GDV6yK4FGTZsmVJo3Gg95IXab9rCw16BeJr9m+qQWNWW3BC8wGNLc3HFMSmOZAKh2gbJ0+eTBrNifS6iIjFixcnjeZPOhaCxpWuU/JnP0zngoTToeuXPEEalV4Q5Fk6z1QCdvTo0SrtggsuwG3T8dFapbYMrfbanQ7z4jCoLb4g6BzSWoBKYWqLbGiupeK72sKMXnPl5ZdfXrU/tesfgo659r7WJl5ZIiIiIiIiLeDDmIiIiIiISAuc8WGslLKylPLtUsqjpZRHSim/Pab/YSllTyll89g/7xn+7oqcGT0rXUPPStfQs9JF9K2MIjW/SPlqRPxO0zQ/KqWcHxGbSil3j/23TzZN81+Ht3siE0LPStfQs9I19Kx0EX0rI8cZH8aaptkXEfvG/nyilLIlIpYPe8dqqA0sU6CPAqsUGqRSDwpK0reIU3EBbbfXt5VTQJiCkbTftWNT+43vXWJUPEvnoJ+QPZ0X8g75hnxHJQUzZ85M2tKlS6s+L4KvtWPHjiWNimioFISKIqjAg6D30hiOQih9VDzbD+RtCl1TYJvOPX0elXBQAQddA+S5Xtsmjd5P1xD5qZ9SKtJGoayjDc/WFvDQ62rvazS/0D2/du6dN29e0mhtULvWiIg4ceJE1bbJJ3TPry2nmQp0ba6l+YTmHfItXQe1BUpEbTHSkiVL8P1UFEIepe3Q/XwU7t2DYlxHUkpZHRHXRcT9Y9JHSikPllI+W0rJM45Iy+hZ6Rp6VrqGnpUuom9lVKh+GCulzIqIv4yIjzZNczwi/jQiLo6Ia+P1/8vwxz3e9+FSysZSysZDhw4NYJdF6tCz0jX0rHQNPStdRN/KKFH1MFZKOSteN+3nm6b5q4iIpmkONE3zWtM0P42IT0fEBnpv0zSfappmfdM06xctWjSo/Rb5mehZ6Rp6VrqGnpUuom9l1KhpUywR8ZmI2NI0zSdO0U8NkvxKRDw8+N0TGT96VrqGnpWuoWeli+hbGUVq2hRviojfiIiHSimbx7Tfi4gPlFKujYgmIrZHxG8NZQ8HAAUEKfhHIVb65m4qzKBwMIUnaV/oW817bac2HN5PsHEUwuF9MhKerR1HCqYS5DHyCPmYihTo8ygwTl7q5S8Kq9cWmQx6vDrGSHi2H+j8UekFabWFC7XaeKidUwft4ynApHt2MgL7NL/UFl3VrgOoxIZ8Q/N7BM/ntV6sHcMp7OPOz7W0ZiSPzpkzJ2n9zKv9Fgz149GpPtfWtCneGxF0xF8b/O6I9I+ela6hZ6Vr6FnpIvpWRpGp0wspIiIiIiLSIXwYExERERERaQEfxkRERERERFqgpsBjSmKBgHQN/SldQ89K15jqRQEyNdG33cafjImIiIiIiLSAD2MiIiIiIiIt4MOYiIiIiIhIC/gwJiIiIiIi0gKFvj17aBsr5VBE7IiIhRFxeNI2PFymyrGM6nFc2DTNorY2fopnI0Z3jMaLxzFc9Ozg8TiGi54dPB7HcGnVsxFTck07VY4jYjSPpadnJ/Vh7B82WsrGpmnWT/qGh8BUOZapchzDZKqMkccxfZgqY+RxTB+myhh5HNOHqTJGU+U4Irp3LP6aooiIiIiISAv4MCYiIiIiItICbT2Mfaql7Q6DqXIsU+U4hslUGSOPY/owVcbI45g+TJUx8jimD1NljKbKcUR07FhayYyJiIiIiIhMd/w1RRERERERkRaY9IexUsrtpZTHSylPlFI+NtnbnyillM+WUg6WUh4+RZtfSrm7lLJt7N/z2tzHGkopK0sp3y6lPFpKeaSU8ttjeueOZbLoqmcjpoZv9ez40bPto2/Hh55tHz07frrqWz07Wkzqw1gp5Y0R8ScR8e6IuCoiPlBKuWoy96EP7oqI20/TPhYR32qa5tKI+NbY30edVyPid5qmuSoi3hwR/2HsHHTxWIZOxz0bMTV8q2fHgZ4dGfRtJXp2ZNCz46Djvr0r9OzIMNk/GdsQEU80TfNU0zQvR8QXI+J9k7wPE6Jpmu9GxNHT5PdFxOfG/vy5iHj/pO7UBGiaZl/TND8a+/OJiNgSEcujg8cySXTWsxFTw7d6dtzo2RFA344LPTsC6Nlx01nf6tnRYrIfxpZHxK5T/r57TOsqS5qm2Tf25/0RsaTNnRkvpZTVEXFdRNwfHT+WITLVPBvR4XOtZ6vQsyOGvj0jenbE0LNVTDXfdvo8d9mzFngMiOb1WsrOVFOWUv5/O3eII0UQhQH4f4JVKFAkIBDcghPsCXAruACeO3ADJEFBwmpugCGYTSBIQnblWkQhpsXI6YVUdXW+L6nMTLeYevV+8zKTvp/kQ5JXrbXb43uz1cLdzdRrmSWZr9dyy2x9lllm6/Psme09jP1K8uTo8+Pl2qyuq+pRkiyvN4P3c5KqupdDaN+11j4ul6espYO9ZTaZsNcyu4rMboTcnkxmN0JmV9lbbqfs8x4y23sY+5LkWVU9raqzJC+SXHbew/90meRieX+R5NPAvZykqirJ2yRXrbU3R7emq6WTvWU2mazXMruazG6A3K4isxsgs6vtLbfT9Xk3mW2tdV1JzpN8T/Izyeve3/8P+36f5HeSPzn8L/hlkoc5PKXlR5LPSR6M3ucJdTzP4efab0m+Lut8xlo6ntmUmV32Pn1uZfZOZyaz4+uQ23XnJbPj65DZ9Wc2ZW5ldlurlmIAAADoyAM8AAAABjCMAQAADGAYAwAAGMAwBgAAMIBhDAAAYADDGAAAwACGMQAAgAEMYwAAAAP8BSkYuYiP2WPBAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1080x1080 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the inferred images:\n",
    "\n",
    "plt.figure(figsize=(15,15))\n",
    "for i in range(10):\n",
    "    plt.subplot(5, 5, i + 1)\n",
    "    plt.imshow( (np.reshape(x_infer_from_average[0+i,], (28, 28))), cmap=plt.cm.gray_r)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
